package com.desksoft.ecommerce.entity.logistics.dto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ItempriceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ItempriceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCategorycodeIsNull() {
            addCriterion("CategoryCode is null");
            return (Criteria) this;
        }

        public Criteria andCategorycodeIsNotNull() {
            addCriterion("CategoryCode is not null");
            return (Criteria) this;
        }

        public Criteria andCategorycodeEqualTo(String value) {
            addCriterion("CategoryCode =", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeNotEqualTo(String value) {
            addCriterion("CategoryCode <>", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeGreaterThan(String value) {
            addCriterion("CategoryCode >", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeGreaterThanOrEqualTo(String value) {
            addCriterion("CategoryCode >=", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeLessThan(String value) {
            addCriterion("CategoryCode <", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeLessThanOrEqualTo(String value) {
            addCriterion("CategoryCode <=", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeLike(String value) {
            addCriterion("CategoryCode like", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeNotLike(String value) {
            addCriterion("CategoryCode not like", value, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeIn(List<String> values) {
            addCriterion("CategoryCode in", values, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeNotIn(List<String> values) {
            addCriterion("CategoryCode not in", values, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeBetween(String value1, String value2) {
            addCriterion("CategoryCode between", value1, value2, "categorycode");
            return (Criteria) this;
        }

        public Criteria andCategorycodeNotBetween(String value1, String value2) {
            addCriterion("CategoryCode not between", value1, value2, "categorycode");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNull() {
            addCriterion("ItemCode is null");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNotNull() {
            addCriterion("ItemCode is not null");
            return (Criteria) this;
        }

        public Criteria andItemcodeEqualTo(String value) {
            addCriterion("ItemCode =", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotEqualTo(String value) {
            addCriterion("ItemCode <>", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThan(String value) {
            addCriterion("ItemCode >", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ItemCode >=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThan(String value) {
            addCriterion("ItemCode <", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThanOrEqualTo(String value) {
            addCriterion("ItemCode <=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLike(String value) {
            addCriterion("ItemCode like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotLike(String value) {
            addCriterion("ItemCode not like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeIn(List<String> values) {
            addCriterion("ItemCode in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotIn(List<String> values) {
            addCriterion("ItemCode not in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeBetween(String value1, String value2) {
            addCriterion("ItemCode between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotBetween(String value1, String value2) {
            addCriterion("ItemCode not between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andPricetypeIsNull() {
            addCriterion("PriceType is null");
            return (Criteria) this;
        }

        public Criteria andPricetypeIsNotNull() {
            addCriterion("PriceType is not null");
            return (Criteria) this;
        }

        public Criteria andPricetypeEqualTo(String value) {
            addCriterion("PriceType =", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotEqualTo(String value) {
            addCriterion("PriceType <>", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeGreaterThan(String value) {
            addCriterion("PriceType >", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeGreaterThanOrEqualTo(String value) {
            addCriterion("PriceType >=", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeLessThan(String value) {
            addCriterion("PriceType <", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeLessThanOrEqualTo(String value) {
            addCriterion("PriceType <=", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeLike(String value) {
            addCriterion("PriceType like", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotLike(String value) {
            addCriterion("PriceType not like", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeIn(List<String> values) {
            addCriterion("PriceType in", values, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotIn(List<String> values) {
            addCriterion("PriceType not in", values, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeBetween(String value1, String value2) {
            addCriterion("PriceType between", value1, value2, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotBetween(String value1, String value2) {
            addCriterion("PriceType not between", value1, value2, "pricetype");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNull() {
            addCriterion("StoreCode is null");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNotNull() {
            addCriterion("StoreCode is not null");
            return (Criteria) this;
        }

        public Criteria andStorecodeEqualTo(String value) {
            addCriterion("StoreCode =", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotEqualTo(String value) {
            addCriterion("StoreCode <>", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThan(String value) {
            addCriterion("StoreCode >", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThanOrEqualTo(String value) {
            addCriterion("StoreCode >=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThan(String value) {
            addCriterion("StoreCode <", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThanOrEqualTo(String value) {
            addCriterion("StoreCode <=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLike(String value) {
            addCriterion("StoreCode like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotLike(String value) {
            addCriterion("StoreCode not like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeIn(List<String> values) {
            addCriterion("StoreCode in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotIn(List<String> values) {
            addCriterion("StoreCode not in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeBetween(String value1, String value2) {
            addCriterion("StoreCode between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotBetween(String value1, String value2) {
            addCriterion("StoreCode not between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andItempriceIsNull() {
            addCriterion("ItemPrice is null");
            return (Criteria) this;
        }

        public Criteria andItempriceIsNotNull() {
            addCriterion("ItemPrice is not null");
            return (Criteria) this;
        }

        public Criteria andItempriceEqualTo(BigDecimal value) {
            addCriterion("ItemPrice =", value, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceNotEqualTo(BigDecimal value) {
            addCriterion("ItemPrice <>", value, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceGreaterThan(BigDecimal value) {
            addCriterion("ItemPrice >", value, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ItemPrice >=", value, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceLessThan(BigDecimal value) {
            addCriterion("ItemPrice <", value, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ItemPrice <=", value, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceIn(List<BigDecimal> values) {
            addCriterion("ItemPrice in", values, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceNotIn(List<BigDecimal> values) {
            addCriterion("ItemPrice not in", values, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ItemPrice between", value1, value2, "itemprice");
            return (Criteria) this;
        }

        public Criteria andItempriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ItemPrice not between", value1, value2, "itemprice");
            return (Criteria) this;
        }

        public Criteria andStartdateIsNull() {
            addCriterion("StartDate is null");
            return (Criteria) this;
        }

        public Criteria andStartdateIsNotNull() {
            addCriterion("StartDate is not null");
            return (Criteria) this;
        }

        public Criteria andStartdateEqualTo(Date value) {
            addCriterion("StartDate =", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateNotEqualTo(Date value) {
            addCriterion("StartDate <>", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateGreaterThan(Date value) {
            addCriterion("StartDate >", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateGreaterThanOrEqualTo(Date value) {
            addCriterion("StartDate >=", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateLessThan(Date value) {
            addCriterion("StartDate <", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateLessThanOrEqualTo(Date value) {
            addCriterion("StartDate <=", value, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateIn(List<Date> values) {
            addCriterion("StartDate in", values, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateNotIn(List<Date> values) {
            addCriterion("StartDate not in", values, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateBetween(Date value1, Date value2) {
            addCriterion("StartDate between", value1, value2, "startdate");
            return (Criteria) this;
        }

        public Criteria andStartdateNotBetween(Date value1, Date value2) {
            addCriterion("StartDate not between", value1, value2, "startdate");
            return (Criteria) this;
        }

        public Criteria andEnddateIsNull() {
            addCriterion("EndDate is null");
            return (Criteria) this;
        }

        public Criteria andEnddateIsNotNull() {
            addCriterion("EndDate is not null");
            return (Criteria) this;
        }

        public Criteria andEnddateEqualTo(Date value) {
            addCriterion("EndDate =", value, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateNotEqualTo(Date value) {
            addCriterion("EndDate <>", value, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateGreaterThan(Date value) {
            addCriterion("EndDate >", value, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateGreaterThanOrEqualTo(Date value) {
            addCriterion("EndDate >=", value, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateLessThan(Date value) {
            addCriterion("EndDate <", value, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateLessThanOrEqualTo(Date value) {
            addCriterion("EndDate <=", value, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateIn(List<Date> values) {
            addCriterion("EndDate in", values, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateNotIn(List<Date> values) {
            addCriterion("EndDate not in", values, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateBetween(Date value1, Date value2) {
            addCriterion("EndDate between", value1, value2, "enddate");
            return (Criteria) this;
        }

        public Criteria andEnddateNotBetween(Date value1, Date value2) {
            addCriterion("EndDate not between", value1, value2, "enddate");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNull() {
            addCriterion("StartTime is null");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNotNull() {
            addCriterion("StartTime is not null");
            return (Criteria) this;
        }

        public Criteria andStarttimeEqualTo(String value) {
            addCriterion("StartTime =", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotEqualTo(String value) {
            addCriterion("StartTime <>", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThan(String value) {
            addCriterion("StartTime >", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThanOrEqualTo(String value) {
            addCriterion("StartTime >=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThan(String value) {
            addCriterion("StartTime <", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThanOrEqualTo(String value) {
            addCriterion("StartTime <=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLike(String value) {
            addCriterion("StartTime like", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotLike(String value) {
            addCriterion("StartTime not like", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeIn(List<String> values) {
            addCriterion("StartTime in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotIn(List<String> values) {
            addCriterion("StartTime not in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeBetween(String value1, String value2) {
            addCriterion("StartTime between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotBetween(String value1, String value2) {
            addCriterion("StartTime not between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNull() {
            addCriterion("EndTime is null");
            return (Criteria) this;
        }

        public Criteria andEndtimeIsNotNull() {
            addCriterion("EndTime is not null");
            return (Criteria) this;
        }

        public Criteria andEndtimeEqualTo(String value) {
            addCriterion("EndTime =", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotEqualTo(String value) {
            addCriterion("EndTime <>", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThan(String value) {
            addCriterion("EndTime >", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeGreaterThanOrEqualTo(String value) {
            addCriterion("EndTime >=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThan(String value) {
            addCriterion("EndTime <", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLessThanOrEqualTo(String value) {
            addCriterion("EndTime <=", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeLike(String value) {
            addCriterion("EndTime like", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotLike(String value) {
            addCriterion("EndTime not like", value, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeIn(List<String> values) {
            addCriterion("EndTime in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotIn(List<String> values) {
            addCriterion("EndTime not in", values, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeBetween(String value1, String value2) {
            addCriterion("EndTime between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andEndtimeNotBetween(String value1, String value2) {
            addCriterion("EndTime not between", value1, value2, "endtime");
            return (Criteria) this;
        }

        public Criteria andPrombaseIsNull() {
            addCriterion("PromBase is null");
            return (Criteria) this;
        }

        public Criteria andPrombaseIsNotNull() {
            addCriterion("PromBase is not null");
            return (Criteria) this;
        }

        public Criteria andPrombaseEqualTo(BigDecimal value) {
            addCriterion("PromBase =", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseNotEqualTo(BigDecimal value) {
            addCriterion("PromBase <>", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseGreaterThan(BigDecimal value) {
            addCriterion("PromBase >", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PromBase >=", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseLessThan(BigDecimal value) {
            addCriterion("PromBase <", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PromBase <=", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseIn(List<BigDecimal> values) {
            addCriterion("PromBase in", values, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseNotIn(List<BigDecimal> values) {
            addCriterion("PromBase not in", values, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromBase between", value1, value2, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromBase not between", value1, value2, "prombase");
            return (Criteria) this;
        }

        public Criteria andPromfreeIsNull() {
            addCriterion("PromFree is null");
            return (Criteria) this;
        }

        public Criteria andPromfreeIsNotNull() {
            addCriterion("PromFree is not null");
            return (Criteria) this;
        }

        public Criteria andPromfreeEqualTo(BigDecimal value) {
            addCriterion("PromFree =", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeNotEqualTo(BigDecimal value) {
            addCriterion("PromFree <>", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeGreaterThan(BigDecimal value) {
            addCriterion("PromFree >", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PromFree >=", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeLessThan(BigDecimal value) {
            addCriterion("PromFree <", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PromFree <=", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeIn(List<BigDecimal> values) {
            addCriterion("PromFree in", values, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeNotIn(List<BigDecimal> values) {
            addCriterion("PromFree not in", values, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromFree between", value1, value2, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromFree not between", value1, value2, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromitemIsNull() {
            addCriterion("PromItem is null");
            return (Criteria) this;
        }

        public Criteria andPromitemIsNotNull() {
            addCriterion("PromItem is not null");
            return (Criteria) this;
        }

        public Criteria andPromitemEqualTo(String value) {
            addCriterion("PromItem =", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemNotEqualTo(String value) {
            addCriterion("PromItem <>", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemGreaterThan(String value) {
            addCriterion("PromItem >", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemGreaterThanOrEqualTo(String value) {
            addCriterion("PromItem >=", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemLessThan(String value) {
            addCriterion("PromItem <", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemLessThanOrEqualTo(String value) {
            addCriterion("PromItem <=", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemLike(String value) {
            addCriterion("PromItem like", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemNotLike(String value) {
            addCriterion("PromItem not like", value, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemIn(List<String> values) {
            addCriterion("PromItem in", values, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemNotIn(List<String> values) {
            addCriterion("PromItem not in", values, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemBetween(String value1, String value2) {
            addCriterion("PromItem between", value1, value2, "promitem");
            return (Criteria) this;
        }

        public Criteria andPromitemNotBetween(String value1, String value2) {
            addCriterion("PromItem not between", value1, value2, "promitem");
            return (Criteria) this;
        }

        public Criteria andCanceldateIsNull() {
            addCriterion("CancelDate is null");
            return (Criteria) this;
        }

        public Criteria andCanceldateIsNotNull() {
            addCriterion("CancelDate is not null");
            return (Criteria) this;
        }

        public Criteria andCanceldateEqualTo(Date value) {
            addCriterion("CancelDate =", value, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateNotEqualTo(Date value) {
            addCriterion("CancelDate <>", value, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateGreaterThan(Date value) {
            addCriterion("CancelDate >", value, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateGreaterThanOrEqualTo(Date value) {
            addCriterion("CancelDate >=", value, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateLessThan(Date value) {
            addCriterion("CancelDate <", value, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateLessThanOrEqualTo(Date value) {
            addCriterion("CancelDate <=", value, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateIn(List<Date> values) {
            addCriterion("CancelDate in", values, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateNotIn(List<Date> values) {
            addCriterion("CancelDate not in", values, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateBetween(Date value1, Date value2) {
            addCriterion("CancelDate between", value1, value2, "canceldate");
            return (Criteria) this;
        }

        public Criteria andCanceldateNotBetween(Date value1, Date value2) {
            addCriterion("CancelDate not between", value1, value2, "canceldate");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNull() {
            addCriterion("Operator is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNotNull() {
            addCriterion("Operator is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorEqualTo(String value) {
            addCriterion("Operator =", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotEqualTo(String value) {
            addCriterion("Operator <>", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThan(String value) {
            addCriterion("Operator >", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("Operator >=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThan(String value) {
            addCriterion("Operator <", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThanOrEqualTo(String value) {
            addCriterion("Operator <=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLike(String value) {
            addCriterion("Operator like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotLike(String value) {
            addCriterion("Operator not like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorIn(List<String> values) {
            addCriterion("Operator in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotIn(List<String> values) {
            addCriterion("Operator not in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorBetween(String value1, String value2) {
            addCriterion("Operator between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotBetween(String value1, String value2) {
            addCriterion("Operator not between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andSalediscIsNull() {
            addCriterion("SaleDisc is null");
            return (Criteria) this;
        }

        public Criteria andSalediscIsNotNull() {
            addCriterion("SaleDisc is not null");
            return (Criteria) this;
        }

        public Criteria andSalediscEqualTo(BigDecimal value) {
            addCriterion("SaleDisc =", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscNotEqualTo(BigDecimal value) {
            addCriterion("SaleDisc <>", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscGreaterThan(BigDecimal value) {
            addCriterion("SaleDisc >", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDisc >=", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscLessThan(BigDecimal value) {
            addCriterion("SaleDisc <", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDisc <=", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscIn(List<BigDecimal> values) {
            addCriterion("SaleDisc in", values, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscNotIn(List<BigDecimal> values) {
            addCriterion("SaleDisc not in", values, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDisc between", value1, value2, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDisc not between", value1, value2, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscpIsNull() {
            addCriterion("SaleDiscP is null");
            return (Criteria) this;
        }

        public Criteria andSalediscpIsNotNull() {
            addCriterion("SaleDiscP is not null");
            return (Criteria) this;
        }

        public Criteria andSalediscpEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP =", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpNotEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP <>", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpGreaterThan(BigDecimal value) {
            addCriterion("SaleDiscP >", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP >=", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpLessThan(BigDecimal value) {
            addCriterion("SaleDiscP <", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP <=", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpIn(List<BigDecimal> values) {
            addCriterion("SaleDiscP in", values, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpNotIn(List<BigDecimal> values) {
            addCriterion("SaleDiscP not in", values, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDiscP between", value1, value2, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDiscP not between", value1, value2, "salediscp");
            return (Criteria) this;
        }

        public Criteria andItempricepIsNull() {
            addCriterion("ItemPriceP is null");
            return (Criteria) this;
        }

        public Criteria andItempricepIsNotNull() {
            addCriterion("ItemPriceP is not null");
            return (Criteria) this;
        }

        public Criteria andItempricepEqualTo(BigDecimal value) {
            addCriterion("ItemPriceP =", value, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepNotEqualTo(BigDecimal value) {
            addCriterion("ItemPriceP <>", value, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepGreaterThan(BigDecimal value) {
            addCriterion("ItemPriceP >", value, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ItemPriceP >=", value, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepLessThan(BigDecimal value) {
            addCriterion("ItemPriceP <", value, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ItemPriceP <=", value, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepIn(List<BigDecimal> values) {
            addCriterion("ItemPriceP in", values, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepNotIn(List<BigDecimal> values) {
            addCriterion("ItemPriceP not in", values, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ItemPriceP between", value1, value2, "itempricep");
            return (Criteria) this;
        }

        public Criteria andItempricepNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ItemPriceP not between", value1, value2, "itempricep");
            return (Criteria) this;
        }

        public Criteria andQtylimitIsNull() {
            addCriterion("QtyLimit is null");
            return (Criteria) this;
        }

        public Criteria andQtylimitIsNotNull() {
            addCriterion("QtyLimit is not null");
            return (Criteria) this;
        }

        public Criteria andQtylimitEqualTo(BigDecimal value) {
            addCriterion("QtyLimit =", value, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitNotEqualTo(BigDecimal value) {
            addCriterion("QtyLimit <>", value, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitGreaterThan(BigDecimal value) {
            addCriterion("QtyLimit >", value, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("QtyLimit >=", value, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitLessThan(BigDecimal value) {
            addCriterion("QtyLimit <", value, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitLessThanOrEqualTo(BigDecimal value) {
            addCriterion("QtyLimit <=", value, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitIn(List<BigDecimal> values) {
            addCriterion("QtyLimit in", values, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitNotIn(List<BigDecimal> values) {
            addCriterion("QtyLimit not in", values, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("QtyLimit between", value1, value2, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andQtylimitNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("QtyLimit not between", value1, value2, "qtylimit");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnIsNull() {
            addCriterion("ItemDiscWrapN is null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnIsNotNull() {
            addCriterion("ItemDiscWrapN is not null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnEqualTo(String value) {
            addCriterion("ItemDiscWrapN =", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotEqualTo(String value) {
            addCriterion("ItemDiscWrapN <>", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnGreaterThan(String value) {
            addCriterion("ItemDiscWrapN >", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnGreaterThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapN >=", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnLessThan(String value) {
            addCriterion("ItemDiscWrapN <", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnLessThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapN <=", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnLike(String value) {
            addCriterion("ItemDiscWrapN like", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotLike(String value) {
            addCriterion("ItemDiscWrapN not like", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnIn(List<String> values) {
            addCriterion("ItemDiscWrapN in", values, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotIn(List<String> values) {
            addCriterion("ItemDiscWrapN not in", values, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapN between", value1, value2, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapN not between", value1, value2, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappIsNull() {
            addCriterion("ItemDiscWrapP is null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappIsNotNull() {
            addCriterion("ItemDiscWrapP is not null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappEqualTo(String value) {
            addCriterion("ItemDiscWrapP =", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotEqualTo(String value) {
            addCriterion("ItemDiscWrapP <>", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappGreaterThan(String value) {
            addCriterion("ItemDiscWrapP >", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappGreaterThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapP >=", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappLessThan(String value) {
            addCriterion("ItemDiscWrapP <", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappLessThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapP <=", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappLike(String value) {
            addCriterion("ItemDiscWrapP like", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotLike(String value) {
            addCriterion("ItemDiscWrapP not like", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappIn(List<String> values) {
            addCriterion("ItemDiscWrapP in", values, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotIn(List<String> values) {
            addCriterion("ItemDiscWrapP not in", values, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapP between", value1, value2, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapP not between", value1, value2, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andNewupdateIsNull() {
            addCriterion("NewUpdate is null");
            return (Criteria) this;
        }

        public Criteria andNewupdateIsNotNull() {
            addCriterion("NewUpdate is not null");
            return (Criteria) this;
        }

        public Criteria andNewupdateEqualTo(Date value) {
            addCriterion("NewUpdate =", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateNotEqualTo(Date value) {
            addCriterion("NewUpdate <>", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateGreaterThan(Date value) {
            addCriterion("NewUpdate >", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateGreaterThanOrEqualTo(Date value) {
            addCriterion("NewUpdate >=", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateLessThan(Date value) {
            addCriterion("NewUpdate <", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateLessThanOrEqualTo(Date value) {
            addCriterion("NewUpdate <=", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateIn(List<Date> values) {
            addCriterion("NewUpdate in", values, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateNotIn(List<Date> values) {
            addCriterion("NewUpdate not in", values, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateBetween(Date value1, Date value2) {
            addCriterion("NewUpdate between", value1, value2, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateNotBetween(Date value1, Date value2) {
            addCriterion("NewUpdate not between", value1, value2, "newupdate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}